ci: add pip and hatch environment caching to reusable python build#76
Merged
crowecawcaw merged 1 commit intoaws-deadline:mainlinefrom Apr 17, 2026
Merged
Conversation
Add cache: pip to setup-python for pip download caching. Add actions/cache for the full hatch virtualenv environment, keyed on OS, python version, and dependency file hashes. Uses HATCH_DATA_DIR to normalize the env path across platforms. Release artifacts (PyPI packages, installers) are built in separate jobs with clean environments, so the cache does not affect published artifacts. Signed-off-by: Stephen Crowe <6042774+crowecawcaw@users.noreply.github.com>
a375122 to
1ad9e0d
Compare
karthikbekalp
approved these changes
Apr 17, 2026
karthikbekalp
left a comment
There was a problem hiding this comment.
Nice, I think we can add more comments on how the cache eviction takes place but that's a nit.
leon-li-inspire
approved these changes
Apr 17, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What was the problem/requirement? (What/Why)
CI builds spent about half their time downloading dependencies and setting up environments.
What was the solution? (How)
Add cache: pip to setup-python for pip download caching. Add actions/cache for the full hatch virtualenv environment, keyed on OS, python version, and dependency file hashes. Uses HATCH_DATA_DIR to normalize the env path across platforms.
Release artifacts (PyPI packages, installers) are built in separate jobs with clean environments, so the cache does not affect published artifacts.
What is the impact of this change?
Faster builds
Tested on crowecawcaw/deadline-cloud PR #1 (3 OS × 7 Python versions = 24 jobs)
How was this change tested?
Tested in my fork, above.
Was this change documented?
n/a
Is this a breaking change?
No
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.